package com.yidu.verycd_background.service.impl;

import com.yidu.verycd_background.dao.VerycdUserDao;
import com.yidu.verycd_background.entity.VerycdUser;
import com.yidu.verycd_background.service.VerycdUserService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * (VerycdUser)表服务实现类
 *
 * @author makejava
 * @since 2020-07-27 09:51:18
 */
@Service("verycdUserService")
public class VerycdUserServiceImpl implements VerycdUserService {
    @Resource
    private VerycdUserDao verycdUserDao;

    /**
     * 通过ID查询单条数据
     *
     * @param userId 主键
     * @return 实例对象
     */
    @Override
    public VerycdUser selectOne(Integer userId) {
        return this.verycdUserDao.queryById(userId);
    }

    /**
     * 查询多条数据
     *
     * @param verycdUser 查询起始位置
     * @return 对象列表
     */
    @Override
    public List<VerycdUser> queryAllByLimit(VerycdUser verycdUser) {
        return this.verycdUserDao.queryAllByLimit(verycdUser);
    }

    /**
     * 新增数据
     *
     * @param verycdUser 实例对象
     * @return 实例对象
     */
    @Override
    public VerycdUser insertOrUpdate(VerycdUser verycdUser) {
        this.verycdUserDao.insert(verycdUser);
        return verycdUser;
    }

    @Override
    public VerycdUser insert(VerycdUser verycdUser) {
        this.verycdUserDao.insert(verycdUser);
        return this.selectOne(verycdUser.getUserId());
    }

    /**
     * 修改数据
     *
     * @param verycdUser 实例对象
     * @return 实例对象
     */
    @Override
    public VerycdUser update(VerycdUser verycdUser) {
        this.verycdUserDao.update(verycdUser);
        return this.selectOne(verycdUser.getUserId());
    }

    /**
     * 通过主键删除数据
     *
     * @param userId 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(Integer userId) {
        return this.verycdUserDao.deleteById(userId) > 0;
    }


    @Override
    public int selectCount(VerycdUser verycdUser) {
        return verycdUserDao.selectCount(verycdUser);
    }

    /**
     * 注册
     * @param verycdUser 实例对象
     * @return
     */
    @Override
    public VerycdUser dyRegist(VerycdUser verycdUser) {
        this.verycdUserDao.insert(verycdUser);
        return verycdUser;
    }

    /**
     * 登录
     * @param verycdUser 实例对象
     * @return
     */
    @Override
    public VerycdUser dyLogin(VerycdUser verycdUser) {

        this.verycdUserDao.selectCount(verycdUser);
        return verycdUser;
    }
}